#ifndef _TELESCOPE_H_
#define _TELESCOPE_H_

struct _Telescope {
	char path[256];
	Controller *controller;
	int sdd;
	uint8_t protocol;
};

enum protocols {
	MEADE_LX200,
	NEXSTAR
};

enum commands {
	GET_AZ_ALT,
	GET_RA_DEC,
	GOTO_AZ_ALT,
	GOTO_RA_DEC
};

Telescope * telescope_new(Controller *);

void telescope_start(Telescope *);

void telescope_stop(Telescope *);

void telescope_execute_command(Telescope *, Client *, uint8_t, char *, char *);

void telescope_read_data(Telescope *, void *);

void telescope_write_data(Telescope *, void *);

void wait(int);

#include "Telescope.c"
#endif
